-
Notifications
You must be signed in to change notification settings - Fork 192
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OCPBUGS-43745: Add support for IdleCloseTerminationPolicy #1166
base: master
Are you sure you want to change the base?
OCPBUGS-43745: Add support for IdleCloseTerminationPolicy #1166
Conversation
@frobware: This pull request references Jira Issue OCPBUGS-43745, which is invalid:
Comment The bug has been updated to refer to the pull request using the external bug tracker. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
/hold Many commits should never merge. |
a7dea46
to
991d367
Compare
/testwith openshift/cluster-ingress-operator/release-4.18/e2e-aws-operator openshift/router#639 |
@frobware,
|
/testwith openshift/cluster-ingress-operator/master/e2e-aws-operator openshift/router#639 |
991d367
to
052f6b6
Compare
052f6b6
to
0aa6244
Compare
/testwith openshift/cluster-ingress-operator/master/e2e-aws-operator openshift/router#639 |
0aa6244
to
1072f8f
Compare
f89fbb2
to
9707f72
Compare
/testwith openshift/cluster-ingress-operator/master/e2e-aws-operator openshift/router#639 |
9707f72
to
77673b3
Compare
/testwith openshift/cluster-ingress-operator/master/e2e-aws-operator openshift/router#639 |
77673b3
to
3029807
Compare
/assign |
openshift/router#639 has merged. /test all |
The new e2e test /hold |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM overall, just 2 small comments.
test/e2e/idle_connection_test.go
Outdated
description: "Switch to web-service-1 and fetch response", | ||
action: func(httpClient *http.Client) (string, error) { | ||
if err := idleConnectionSwitchRouteService(t, routeName, ic.Name, webService1); err != nil { | ||
return "", err | ||
} | ||
return idleConnectionFetchResponse(httpClient, elbHostname, routeHost) | ||
}, | ||
expectedResponse: func(policy operatorv1.IngressControllerConnectionTerminationPolicy) string { | ||
return webService1 | ||
}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure I understand this test case.
- Whichever policy we start from the route is created with webService1 so switching to webService1 doesn't change anything.
- If we started from
Immediate
policy (first policy) and then switched toDeferred
(second policy) we should have webService2 in the config (from the first policy test case) so the expected response should be webService2.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I consider it a pre-condition. We need to assert that the first response is to web-service-1 for either Immediate or Deferred. That establishes our open connection.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need to start from a known point when we cycle from intermediate to deferred. Or vice-versa when we back port to older releases. It helps reset the test.
e0d930d
to
1019db3
Compare
verify test failing due to recent rebase. |
Successful test with packet capture
Failed test with packet capture
Capturing these results for now, as the test fails infrequently for me, though GCP seems to flake more often than AWS. Using a single instance of |
c8b9671
to
b5c7522
Compare
/test e2e-gcp-operator |
/testwith openshift/cluster-ingress-operator/master/e2e-aws-operator openshift/router#639 |
Enhanced response handlers (`/` and `/healthz`) to include pod-specific headers (`x-pod-name` and `x-pod-namespace`). Introduced new environment variables to control HTTP and HTTPS listeners: - `HTTP2_TEST_SERVER_ENABLE_HTTP_LISTENER`: Enables/disables the HTTP listener. - `HTTP2_TEST_SERVER_ENABLE_HTTPS_LISTENER`: Enables/disables the HTTPS listener. Improved error handling to log and terminate if no listeners are enabled, providing flexibility in determining which listeners to activate.
Pickup openshift/api#2102 % git show 27316471eb72fe8fcf0d44fb5a0602f698f253dc commit 27316471eb72fe8fcf0d44fb5a0602f698f253dc Merge: de9de05a8 b7417509c Author: openshift-merge-bot[bot] <148852131+openshift-merge-bot[bot]@users.noreply.github.com> Date: Wed Dec 18 10:31:50 2024 +0000 Merge pull request #2102 from frobware/OCPBUGS-43745-idle-close-on-response OCPBUGS-43745: Add IdleCloseOnResponse field to IngressControllerSpec Vendoring steps: $ go mod edit -replace github.com/openshift/api=github.com/openshift/api@27316471eb72fe8fcf0d44fb5a0602f698f253dc $ go mod tidy $ go mod vendor $ make update
b5c7522
to
1d8ae99
Compare
/testwith openshift/cluster-ingress-operator/master/e2e-aws-operator openshift/router#639 |
Introduce logic in desiredRouterDeployment to set the environment variable `ROUTER_IDLE_CLOSE_ON_RESPONSE` when the `IdleConnectionTerminationPolicy` field in the IngressController spec is set to `Deferred`. This change enables configuring HAProxy with the `idle-close-on-response` option for better control over idle connection termination behaviour.
1d8ae99
to
f61bdaf
Compare
/testwith openshift/cluster-ingress-operator/master/e2e-aws-operator openshift/router#639 |
/test e2e-aws-operator |
/test hypershift-e2e-aks |
|
Re: e2e-aws-operator. Last failure was: |
/test e2e-aws-operator |
|
@frobware: The following test failed, say
Full PR test history. Your PR dashboard. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
Introduce logic in desiredRouterDeployment to set the environmentvariable
ROUTER_IDLE_CLOSE_ON_RESPONSE
when theIdleConnectionTerminationPolicy
field in the IngressController spec is set toDeferred
. This change enables configuring HAProxy with theidle-close-on-response
option for better control over idle connection termination behaviour.Requires: